Providing network access

ABSTRACT

A wireless service provider identifies a mobile computing device capable of short-range wireless communication and in an agreement to receive service from a cellular network. The wireless service provider provides, to the mobile computing device, terms for a third party computing device to accept in order to gain access to the cellular network via the mobile computing device. In response to a third party computing device agreeing to the terms, the wireless service provider indicates to the mobile computing device to allow the third party computing device to access the cellular network via the mobile computing device.

FIELD OF THE INVENTION

The present invention relates generally to the field of providingnetwork access, and more particularly, to a cellular network providermaking network bandwidth available to computing devices through consumerdevices of the cellular network provider's customers.

BACKGROUND OF THE INVENTION

A network service provider is a business organization that sellsbandwidth or network access by providing direct backbone access to theInternet and usually access to its network access points. A wirelessservice provider (also referred to as a cellular company, mobile networkoperator, wireless carrier, or mobile network carrier) is a type ofnetwork service provider that owns or controls elements necessary tosell and deliver services to an end user including, in a non-exhaustivelist, radio spectrum allocation, wireless network infrastructure, backhaul infrastructure, and billing. Wireless service providers providewireless communications services to end users, typically through acellular network.

A cellular network is a radio network using varying radio frequenciesover land areas called cells. Each cell is served by at least one fixedlocation transceiver (e.g., radio/cell tower). Radio waves are used totransfer signals between the fixed location transceiver and a cellularphone or device. The transceiver may pass signals along to othercellular capable devices within the cell, to another transceiver, or toa wired network connection. Many mobile computing devices, such astablet computers and smartphones, are a capable of accessing a cellularnetwork. Wireless service providers provide this access to registeredmobile computing devices, typically under terms of a wireless contract.The cell tower typically acts as the network access point to the mobilecomputing device.

However, not all computing devices are capable of accessing a cellularnetwork. For example, many laptops only support Wi-Fi wirelesstechnology. Wi-Fi has a much shorter wireless range determined bywireless network access points (or hotspots), such as wireless routers,connected on the back end to an adjacent wired LAN. Mobile computingdevices that are capable of connecting to a cellular network are oftenadditionally capable of short range wireless communication, for examplethrough Wi-Fi. Wi-Fi also allows communications directly from onecomputing device to another without an access point intermediary. Thisis called ad hoc Wi-Fi transmission. In this manner, a wirelesscomputing device can share their cellular Internet connection usingad-hoc Wi-Fi transmission, becoming hotspots or “virtual routers.”

SUMMARY

Embodiments of the present invention include a method, computer programproduct, and system for providing network access. A wireless serviceprovider, via a computing device of the wireless service provider,identifies a mobile computing device capable of short-range wirelesscommunication and in an agreement to receive service from a cellularnetwork. The wireless service provider provides, to the mobile computingdevice, terms for a third party computing device to agree to in order togain access to the cellular network via the mobile device, such that themobile computing device can provide the terms to third party computingdevices in wireless range of the mobile computing device. In response toreceiving an indication from the mobile computing device that a thirdparty computing device has agreed to the terms, the wireless serviceprovider indicating to the mobile computing device to allow the thirdparty computing device to access the cellular network via the mobilecomputing device.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS

FIG. 1 is a functional block diagram illustrating a distributed dataprocessing environment, in accordance with an embodiment of the presentinvention.

FIG. 2 is a flowchart depicting operational steps of a network accessprogram for a wireless service provider using consumer mobile devices asnetwork access points, in accordance with an embodiment of the presentinvention.

FIG. 3 is a flowchart depicting operational steps of a local providerprogram for facilitating a connection between a local device and awireless service provider via a registered mobile device, in accordancewith an embodiment of the present invention.

FIG. 4 illustrates operational steps of a transfer connection programfor providing a seamless transfer of a computing device connecting tothe cellular network of a wireless service provider from one mobiledevice to another, in accordance with an embodiment of the presentinvention.

FIG. 5 depicts a block diagram of components of at least one resource ofa wireless service provider, in accordance with an illustrativeembodiment of the present invention.

DETAILED DESCRIPTION

Embodiments of the present invention recognize that though coverage ofcellular networks is broad, not all devices are equipped to takeadvantage of this coverage. Further, this coverage does not offer aviable alternative to pay network access points or a network accesspoint that becomes overloaded. Towards these ends, embodiments of thepresent invention allow a wireless service provider to offer services toconsumers that do not have a monthly wireless contract by utilizing thead-hoc capabilities of consumer devices that do have a monthly wirelesscontract with the wireless service provider. This not only allows awireless service provider to expand their customer base, but alsoprovides consumers with more options when they are seeking an internetconnection. Furthermore, providing such ad-hoc services may also give awireless service provider a competitive edge. For example, the wirelessservice provider might advertise that they have more “in plan-ad hoc”Wi-Fi hot spots for current subscribers or the wireless service providermay offer such services as a “loyalty” program. Implementation ofembodiments of the invention may take a variety forms, and exemplaryimplementation details are discussed subsequently with reference to theFigures.

As will be appreciated by one skilled in the art, aspects of the presentinvention may be embodied as a system, method or computer programproduct. Accordingly, aspects of the present invention may take the formof an entirely hardware embodiment, an entirely software embodiment(including firmware, resident software, micro-code, etc.) or anembodiment combining software and hardware aspects that may allgenerally be referred to herein as a “circuit,” “module” or “system.”Furthermore, aspects of the present invention may take the form of acomputer program product embodied in one or more computer-readable mediahaving computer readable program code/instructions embodied thereon.

Any combination of computer-readable media may be utilized.Computer-readable media may be a computer-readable signal medium or acomputer-readable storage medium. A computer-readable storage medium maybe, for example, but is not limited to, an electronic, magnetic,optical, electromagnetic, infrared, or semiconductor system, apparatus,or device, or any suitable combination of the foregoing. More specificexamples (a non-exhaustive list) of a computer-readable storage mediumwould include the following: an electrical connection having one or morewires, a portable computer diskette, a hard disk, a random access memory(RAM), a read-only memory (ROM), an erasable programmable read-onlymemory (EPROM or Flash memory), an optical fiber, a portable compactdisc read-only memory (CD-ROM), an optical storage device, a magneticstorage device, or any suitable combination of the foregoing. In thecontext of this document, a computer-readable storage medium may be anytangible medium that can contain, or store a program for use by or inconnection with an instruction execution system, apparatus, or device.

A computer-readable signal medium may include a propagated data signalwith computer-readable program code embodied therein, for example, inbaseband or as part of a carrier wave. Such a propagated signal may takeany of a variety of forms, including, but not limited to,electro-magnetic, optical, or any suitable combination thereof. Acomputer-readable signal medium may be any computer-readable medium thatis not a computer-readable storage medium and that can communicate,propagate, or transport a program for use by or in connection with aninstruction execution system, apparatus, or device.

Program code embodied on a computer-readable medium may be transmittedusing any appropriate medium, including but not limited to wireless,wireline, optical fiber cable, RF, etc., or any suitable combination ofthe foregoing.

Computer program code for carrying out operations for aspects of thepresent invention may be written in any combination of one or moreprogramming languages, including an object oriented programming languagesuch as Java®, Smalltalk, C++ or the like and conventional proceduralprogramming languages, such as the “C” programming language or similarprogramming languages. The program code may execute entirely on a user'scomputer, partly on the user's computer, as a stand-alone softwarepackage, partly on the user's computer and partly on a remote computeror entirely on the remote computer or server. In the latter scenario,the remote computer may be connected to the user's computer through anytype of network, including a local area network (LAN) or a wide areanetwork (WAN), or the connection may be made to an external computer(for example, through the Internet using an Internet Service Provider).

Aspects of the present invention are described below with reference toflowchart illustrations and/or block diagrams of methods, apparatus(systems) and computer program products according to embodiments of theinvention. It will be understood that each block of the flowchartillustrations and/or block diagrams, and combinations of blocks in theflowchart illustrations and/or block diagrams, can be implemented bycomputer program instructions. These computer program instructions maybe provided to a processor of a general purpose computer, specialpurpose computer, or other programmable data processing apparatus toproduce a machine, such that the instructions, which execute via theprocessor of the computer or other programmable data processingapparatus, create means for implementing the functions/acts specified inthe flowchart and/or block diagram block or blocks.

These computer program instructions may also be stored in acomputer-readable medium that can direct a computer, other programmabledata processing apparatus, or other devices to function in a particularmanner, such that the instructions stored in the computer-readablemedium produce an article of manufacture including instructions whichimplement the function/act specified in the flowchart and/or blockdiagram block or blocks.

The computer program instructions may also be loaded onto a computer,other programmable data processing apparatus, or other devices to causea series of operational steps to be performed on the computer, otherprogrammable apparatus or other devices to produce acomputer-implemented process such that the instructions which execute onthe computer or other programmable apparatus provide processes forimplementing the functions/acts specified in the flowchart and/or blockdiagram block or blocks.

FIG. 1 is a functional block diagram illustrating a distributed dataprocessing environment, generally designated 100, in accordance with oneembodiment of the present invention. Distributed data processingenvironment 100 depicts wireless service provider 102, communicativelycoupled to mobile computing devices 104 and 106; and depicts mobilecomputing devices 104 and 106 communicatively coupled to end usercomputing devices 108, 110, 112, 114, and 116.

Wireless service provider 102 represents a collection of resourcesincluding computing systems and components, which are interconnectedthrough various connections and protocols and, in one embodiment,provides wireless communication to mobile computing devices 104 and 106via radio frequencies transmitted over a cellular network. In anotherembodiment, wireless service provider 102 communicates with mobilecomputing devices 104 and 106 via satellite communications. Mobilecomputing devices 104 and 106 are depicted herein as smartphones. Inother embodiments, mobile computing devices 104 and 106 may be a tabletcomputer or any other computing device capable of connecting to wirelessservice provider 102 via a cellular tower or satellite dish, and capableof using short range wireless frequencies (e.g., Wi-Fi, Bluetooth™) toallow end user computing devices 108, 110, 112, 114, and 116 to use themobile computing devices as network access points for the cellularnetwork provided by wireless service provider 102. End user computingdevices 108, 110, 112, 114, and 116 may be any device capable ofshort-range wireless communication, for example, a laptop or smartphone.

Network access program 118 resides on one or more resources of wirelessservice provider 102 and utilizes the “hotspot” capability of mobiledevices in contract with wireless service provider 102 (e.g., mobilecomputing devices 104 and 106) to expand coverage to non-contractedusers (e.g., end user computing devices 108, 110, 112, 114, and 116)within wireless range to a contracted mobile computing device. As anon-contracted user reaches the limits of wireless communication with acontracted mobile device (geographical distance, if the contractedmobile device is running out of excess bandwidth, etc.), transferconnection program 120 seamlessly transfers the connection from thecontracted mobile device to a second contracted mobile device. Forexample, if end user computing device 110 is connected to the Internetthrough mobile computing device 104, but is physically moving away frommobile computing device 104 and towards mobile computing device 106,transfer connection program 120 facilitates the transfer of theconnection to mobile computing device 106 such that service to end usercomputing device 110 is not interrupted. In one embodiment, transferconnection program 120 is a function, or subroutine, of network accessprogram 118. In another embodiment, transfer connection program 120 maybe independent of network access program 118. Exemplary implementationsof network access program 118 and transfer connection program 120 arediscussed with regard to FIGS. 2 and 4, respectively.

Local provider program 122 resides on a contracted mobile computingdevice (e.g., mobile computing device 104 and/or 106) and providesintermediate functionality to facilitate a connection between wirelessservice provider 102 and a non-contracted device (e.g., end usercomputing device 108, 110, 112, 114, or 116). As depicted, instances oflocal provider program 122 reside on both mobile computing device 104and mobile computing device 106. An exemplary implementation of localprovider program 122 is discussed with regard to FIG. 3.

Exemplary components of wireless service provider 102 are depicted anddescribed in further detail with reference to FIG. 5.

FIG. 2 is a flowchart depicting operational steps of network accessprogram 118, in accordance with an embodiment of the present invention.

Network access program 118 identifies one or more adequate mobiledevices that can be used as network access points for non-contractedcomputing devices (step 202). In a preferred embodiment, mobilecomputing devices that contractually receive service from wirelessservice provider 102 may also be registered to provide network access tonon-contracted computing devices. The terms of such a registration mayvary. For example, a mobile computing device may, in some instances,specify certain conditions that must be met for them to be available insuch a capacity (e.g., within a certain geographic location, within acertain period of time, on certain days, on off peak hours, etc.) When aregistered mobile computing device is accessible to wireless serviceprovider 102, network access program 118 may query the mobile computingdevice to determine whether such conditions are met. In one embodiment,a mobile computing device may send a notification to wireless serviceprovider 102 indicating that they are available for such use. Theregistration may also be included as a term of the service contract.

In an alternate embodiment, network access program 118 may requestpermission from a user of a contracted mobile device. For example,wireless service provider 102 may want to provide service to aparticular area (e.g., an airport, a coffee shop at lunch time, etc.).Network access program 118 may identify mobile devices under contractthat are in or near that area. Network access program 118 may query themobile devices or check an internal database to determine the mobiledevices that meet necessary specifications for providing network access.For example, the mobile device should be capable of creating a hotspot.In one embodiment, upon determining a capable and contracted mobiledevice, network access program 118 may query a user of the determinedmobile device, via a text message for example, for permission to use themobile device as a network access point. Network access program 118 mayfacilitate the offering and/or negotiation of different incentives.Network access program 118 may also offer incentives for mobile devicesnear a desired location to relocate to the desired location.

Subsequent to identifying one or more mobile devices that may be used bywireless service provider 102 as network access points, network accessprogram 118 may request local competing prices from an identified mobiledevice (step 204). To effectively compete as a network provider at agiven location, wireless service provider 102 may find it valuable toknow the prices of competing providers. Computing devices capable ofwireless connections already have the ability to search for localavailable wireless networks. Network access program 118 leverages theexisting capabilities of any identified mobile devices to determine whatconnections are currently available in the area and at what price. Forexample, network access program 118 may query an identified mobiledevice for local prices, and receive a list of available connections andcorresponding pricing. In one embodiment, the received correspondingpricing may be an html page sent to the identified mobile device fromthe available connection, and network access program 118 may parse thehtml code or perform a “screen scrape” to identify the correspondingprice.

In one embodiment, network access program 118 sets a price for internetaccess via the identified mobile device based on received competingprices (step 206). For example, in one implementation, network accessprogram 118 sets the price to match or beat the lowest availablecompeting price. In another exemplary implementation, network accessprogram 118 may set the price to match an average of the availablecompeting prices. A person of ordinary skill in the art will understandthat many formulas may be used for setting a price based on competingprices. Network access program 118 notifies the identified mobile deviceof the price.

Network access program 118 may receive an access request and paymentinformation from a computing device connecting to the network providedby wireless service provider 102 via the identified mobile device (step208). In one embodiment, a computing device attempting to connect to theInternet through the identified mobile device is provided with a limitedconnection. Network access program 118 may send a secure page requestingpayment, such as credit card information to the connecting device.Alternatively, network access program 118 may direct the connectingdevice to a web page capable of accepting a payment, such as PayPal®. Aperson of ordinary skill in the art will recognize that payment may bean up front fee (e.g., ten dollars for half an hour), or may be apayment authorization for a subsequent payment based on various termsand conditions (e.g., authorization to pay at a rate of one dollar permegabyte, etc.). Once payment is received, or a notification of a validpayment is received from a third party web site, network access program118 may send permission to the identified mobile device to allow fullnetwork access to the connecting device (step 210).

Once full access is granted to the connecting device, wireless serviceprovider 102 facilitates the transfer of data packets to and from theidentified mobile device in a standard fashion (step 212). During saidtransfer, network access program 118 tracks all transferred data by theoriginating/destination device (step 214). For example, network accessprogram 118 may determine the originating and/or destination device byreading packet headers. The identified mobile device may transfer datafor its own purposes or for one or more computing devices connected tothe Internet through the identified mobile device. The amount of datatransferred for each connected device and for the identified mobiledevice is stored.

Network access program 118 applies pricing to the connecting devices asdesignated by agreement (step 216). For example, a registrationagreement of the identified mobile device might specify that theidentified mobile device is credited a certain amount of data usage forallowing devices to connect to it, or a certain percentage of feescollected, or some other incentive offered by wireless service provider102. A connecting device, on the other hand, may have agreed to pay at acertain amount per unit of data usage. Network access program 118 mayapply the charge rate to the tracked amount of data that originated fromand was received by the connecting device, and apply such fees. Personsof ordinary skill in the art will recognize that a multitude ofdifferent incentives, credits, and charges may be agreed to by any ofthe involved parties.

FIG. 3 is a flowchart depicting operational steps of local providerprogram 122 for facilitating a connection between a local device andwireless service provider 102 via a registered mobile device, inaccordance with an embodiment of the present invention. Thefunctionality of local provider program 122 may come pre-installed on amobile device or may be downloaded and installed upon registration ofthe mobile device with wireless service provider 102. Local providerprogram 122 works in conjunction with network access program 118.

In one embodiment, local provider program 122 notifies wireless serviceprovider 102 that the mobile device that it resides on is available foruse as a network access point (step 302). Subsequently, local providerprogram 122 receives a request from wireless service provider 102 forlocal competing prices (step 304). Local provider program 122 identifiesavailable network connections and their pricing (step 306). In oneembodiment, local provider program 122 initiates a search for wirelessnetwork connections, and, upon finding a wireless network connection,attempts to connect to the wireless connection. In response, localprovider program 122 may receive an html document, specifying pricing,from the wireless connection. In another embodiment, the standard Wi-Fispecification may be enhanced to include pricing and/or a flagindicating that shared Wi-Fi is available. Local provider program 122sends the pricing information to wireless service provider 102 (step308).

Local provider program 122 receives a price at which to offer Internetaccess from wireless service provider 102 (step 310). Local providerprogram 122 creates a hotspot and advertises the price (step 312). Inone embodiment, the Wi-Fi specification is enhanced to include the priceso that a computing device looking for a connection can quickly identifysuch terms. In another embodiment, subsequent to the creation of ahotspot, when a computing device attempts to access the network throughthe mobile computing device, local provider program 122 may provide orforward a web page specifying the price and other terms and conditions.

Local provider program 122 receives a connection request from anin-range device (step 314) and facilitates the payment (step 316) byproviding a payment form or by directing the connecting device to a website capable of taking and verifying a payment. In one embodiment, apayment form may be embedded in a web page sent to the in-range devicespecifying the price and terms and conditions. Subsequently, localprovider program 122 receives confirmation and/or permission fromwireless service provider 102 to allow full access to the in-rangedevice (step 318). Local provider program 122 facilitates the transferof data packets to and from the in-range of device to the cellularnetwork of wireless service provider 102 (step 320). In one embodiment,local provider program 122 may also keep track of data used byconnecting devices to ensure accuracy of records kept by wirelessservice provider 102.

FIG. 4 illustrates operational steps of transfer connection program 120for providing a seamless transfer of a computing device connecting tothe cellular network of wireless service provider 102 from one mobiledevice to another, in accordance with an embodiment of the presentinvention.

Transfer connection program 120, operating on at least one of theresources of wireless service provider 102, receives an indication froman intermediate mobile device (a mobile device acting as a networkaccess point to a computing device) of a poor or ending connection (step402). For example, a connecting computing device may be moving away fromthe intermediate mobile device or the intermediate mobile device may bemoving away from the connecting computing device. Transfer connectionprogram 120 may receive a notification from the intermediate mobiledevice of diminishing signal strength. Alternatively, an intermediatemobile device might only be scheduled to act as a network access pointfor a certain period of time, and the period of time may be coming to anend.

Transfer connection program 120 identifies a second mobile device to useas an intermediate mobile device (step 404). In one embodiment, transferconnection program 120 searches a list of mobile devices registered toprovide such a service that are in or near the area. Depending on theterms of registration, transfer connection program 120 may automaticallyuse the mobile device accordingly or may query the mobile device forpermission. In another embodiment, transfer connection program 120 maylocate mobile devices connecting through mobile service provider 102that are not registered, and may individually query such mobile device,e.g., via a text message, for permission. Transfer connection program120 may offer incentives for mobile devices near the location to move tothe location and may offer incentives for mobile devices to stay in thelocation for a specified period of time.

Once a second mobile device is identified, transfer connection program120 synchronizes parameters of the intermediate mobile device and thesecond mobile device (step 406). More specifically, transfer connectionprogram 120 sets the wireless ad-hoc parameters of the second mobiledevice to the same parameters of the intermediate mobile device (e.g.,the Service Set ID) except for the broadcast channel within the radiofrequency band. In a preferred embodiment, permission to adjustparameters is given to wireless service provider 102 when theintermediate and second mobile devices register with wireless serviceprovider 102, and when desired parameter changes are received fromwireless service provider 102, the receiving mobile device changes itsown parameters accordingly. Transfer connection program 120 subsequentlytransfers the connecting computing device from the intermediate mobiledevice to the second mobile device (step 408). In one embodiment,transfer connection program 120 notifies the connecting computing deviceto switch from the channel of the intermediate mobile device to thechannel of the second mobile device. Because the rest of the parametersare the same, the connecting computing device is able to switch itsconnection to the second mobile device without an apparent loss ofconnection.

FIG. 5 depicts a block diagram of components of at least one resource ofwireless service provider 102, in accordance with an illustrativeembodiment of the present invention. It should be appreciated that FIG.5 provides only an illustration of one implementation and does not implyany limitations with regard to the environments in which differentembodiments may be implemented. Many modifications to the depictedenvironment may be made. For example, wireless service provider 102 maycomprise such components spread through multiple systems and resourcesand may provide systems and resources beyond what is necessary tooperate embodiments of the present invention.

Wireless service provider 102 includes communications fabric 502, whichprovides communications between computer processor(s) 504, memory 506,persistent storage 508, communications unit 510, and input/output (I/O)interface(s) 512. Communications fabric 502 can be implemented with anyarchitecture designed for passing data and/or control informationbetween processors (such as microprocessors, communications and networkprocessors, etc.), system memory, peripheral devices, and any otherhardware components within a system. For example, communications fabric502 can be implemented with one or more buses.

Memory 506 and persistent storage 508 are computer-readable storagemedia. In this embodiment, memory 506 includes random access memory(RAM) 514 and cache memory 516. In general, memory 506 can include anysuitable volatile or non-volatile computer-readable storage medium.

Network access program 118 and transfer connection program 120 arestored in persistent storage 508 for execution by one or more ofcomputer processors 504 via one or more memories of memory 506. In thisembodiment, persistent storage 508 includes a magnetic hard disk drive.Alternatively, or in addition to a magnetic hard disk drive, persistentstorage 508 can include a solid state hard drive, a semiconductorstorage device, read-only memory (ROM), erasable programmable read-onlymemory (EPROM), flash memory, or any other computer-readable storagemedium that is capable of storing program instructions or digitalinformation.

The media used by persistent storage 508 may also be removable. Forexample, a removable hard drive may be used for persistent storage 508.Other examples include optical and magnetic disks, thumb drives, andsmart cards that are inserted into a drive for transfer onto anothercomputer-readable storage medium that is also part of persistent storage508.

Communications unit 510, in these examples, provides for communicationswith other data processing systems or devices, including systems anddevices within or controlled by wireless service provider 102 and mobilecomputing devices 104 and 106. In these examples, communications unit510 includes one or more wireless network interface cards.Communications unit 510 may provide communications through the use ofeither or both physical and wireless communications links. Computerprograms and processes may be downloaded to persistent storage 508through communications unit 510.

I/O interface(s) 512 allows for input and output of data with otherdevices that may be connected to wireless service provider 102. Forexample, I/O interface 512 may provide a connection to external devices518 such as a keyboard, keypad, a touch screen, and/or some othersuitable input device. External devices 518 can also include portablecomputer-readable storage media such as, for example, thumb drives,portable optical or magnetic disks, and memory cards. Software and dataused to practice embodiments of the present invention can be stored onsuch portable computer-readable storage media and can be loaded ontopersistent storage 508 via I/O interface(s) 512. I/O interface(s) 512may also connect to a display 520.

Display 520 provides a mechanism to display data to a user and may be,for example, a touch screen or a computer monitor.

The programs described herein are identified based upon the applicationfor which they are implemented in a specific embodiment of theinvention. However, it should be appreciated that any particular programnomenclature herein is used merely for convenience, and thus theinvention should not be limited to use solely in any specificapplication identified and/or implied by such nomenclature.

The flowchart and block diagrams in the Figures illustrate thearchitecture, functionality, and operation of possible implementationsof systems, methods and computer program products according to variousembodiments of the present invention. In this regard, each block in theflowchart or block diagrams may represent a module, segment, or portionof code, which comprises one or more executable instructions forimplementing the specified logical function(s). It should also be notedthat, in some alternative implementations, the functions noted in theblock may occur out of the order noted in the figures. For example, twoblocks shown in succession may, in fact, be executed substantiallyconcurrently, or the blocks may sometimes be executed in the reverseorder, depending upon the functionality involved. It will also be notedthat each block of the block diagrams and/or flowchart illustration, andcombinations of blocks in the block diagrams and/or flowchartillustration, can be implemented by special purpose hardware-basedsystems that perform the specified functions or acts, or combinations ofspecial purpose hardware and computer instructions.

What is claimed is:
 1. A method for providing network access, the methodcomprising: a computer system identifying a mobile computing devicecapable of short-range wireless communication and in an agreement toreceive service from a cellular network; the computer system providing,to the mobile computing device, terms for a third party computing deviceto agree to in order to gain access to the cellular network via themobile computing device, such that the mobile computing device canprovide the terms to third party computing devices in wireless range ofthe mobile computing device; and in response to receiving an indicationfrom the mobile computing device that a third party computing device hasagreed to the terms, the computer system indicating to the mobilecomputing device to allow the third party computing device to access thecellular network via the mobile computing device.
 2. The method of claim1, further comprising the computer system tracking an amount of datatransferred to and from the third party computing device via the mobilecomputing device.
 3. The method of claim 2, further comprising thecomputer system charging the third party computing device for the amountof data transferred to and from the third party computing device via themobile computing device based on the agreed to terms.
 4. The method ofclaim 1, further comprising the computer system crediting the mobilecomputing device based on the amount of data transferred to and from thethird party computing device via the mobile computing device.
 5. Themethod of claim 1, further comprising: the computer system requesting,from the mobile computing device, competing prices of networkconnections in wireless range of the mobile computing device; thecomputer system receiving at least one competing price of a networkconnection in wireless range of the mobile computing device from themobile computing device; and the computer system setting a price foraccess to the cellular network based on the received at least onecompeting price.
 6. The method of claim 4, wherein said crediting themobile computing device based on the amount of data transferred to andfrom the third party computing device via the mobile computing devicecomprises at least one of: the computer system crediting a fee due by auser of the mobile computing device under terms of a service contract bya percentage of the amount charged to the third party computing devicefor data transferred to and from the third party computing device; andthe computer system providing an additional amount of data that may betransferred to and from the mobile computing device under terms of aservice contract.
 7. The method of claim 1, further comprising: thecomputer system identifying a second mobile computing device capable ofshort-range wireless communication and in an agreement to receiveservice from the cellular network; the computer system synchronizingparameters of the mobile computing device and the second mobilecomputing device such that the mobile computing device and the secondmobile computing device operate on different channels of the sameService Set Identifier (SSID); and the computer system transferring thethird party computing device from connecting to the cellular network viathe mobile computing device to connecting to the cellular network viathe second mobile computing device.
 8. The method of claim 7, whereinsaid synchronizing parameters of the mobile computing device and thesecond mobile computing device comprises: the computer systemdetermining the network parameters of the mobile computing device andnotifying the second mobile computing device of the network parametersof the mobile computing device.
 9. The method of claim 7, wherein saidtransferring the third party computing device from connecting to thecellular network via the mobile computing device to connecting to thecellular network via the second mobile computing device occursresponsive to the computer system receiving an indication from themobile computing device that it will no longer be able to connect thethird party computing device to the cellular network.
 10. The method ofclaim 1, further comprising the computer system providing the mobilecomputing device one or more incentives to provide a network connectionto the third party computing device.
 11. A computer program product forproviding network access, the computer program product comprising: oneor more computer-readable storage media and program instructions storedon the one or more computer-readable storage media, the programinstructions comprising: program instructions to identify a mobilecomputing device capable of short-range wireless communication and in anagreement to receive service from a cellular network; programinstructions to provide, to the mobile computing device, terms for athird party computing device to agree to in order to gain access to thecellular network via the mobile computing device, such that the mobilecomputing device can provide the terms to third party computing devicesin wireless range of the mobile computing device; program instructionsto, in response to receiving an indication from the mobile computingdevice that a third party computing device has agreed to the terms,indicate to the mobile computing device to allow the third partycomputing device to access the cellular network via the mobile device.12. The computer program product of claim 9, further comprising: programinstructions to track an amount of data transferred to and from thethird party computing device via the mobile computing device; andprogram instructions to charge the third party computing device for theamount of data transferred to and from the third party computing devicevia the mobile computing device based on the agreed to terms.
 13. Thecomputer program product of claim 9, further comprising: programinstructions, stored on the one or more computer-readable storage media,to credit the mobile device based on the amount of data transferred toand from the third party computing device.
 14. The computer programproduct of claim 9, further comprising program instructions, stored onthe one or more computer-readable storage media, to: request competingprices of network connections in wireless range of the mobile computingdevice; receive at least one competing price of a network connection inwireless range of the mobile computing device from the mobile computingdevice; and set a price for access to the cellular network based on thereceived at least one competing price.
 15. The computer program productof claim 10, wherein the program instructions to credit the mobilecomputing device based on the amount of data transferred to and from thethird party computing device comprises at least one of: programinstructions to credit a fee due by a user of the mobile computingdevice under terms of a service contract by a percentage of the amountcharged to the third party computing device for data transferred to andfrom the third party computing device; and program instructions toprovide an additional amount of data that may be transferred to and fromthe mobile computing device under terms of a service contract.
 16. Thecomputer program product of claim 9, further comprising programinstructions, stored on the one or more computer-readable storage media,to: identify a second mobile computing device capable of short-rangewireless communication and in an agreement to receive service from thecellular network; synchronize parameters of the mobile computing deviceand the second mobile computing device such that the mobile computingdevice and the second mobile computing device operate on differentchannels of the same Service Set Identifier (SSID); and transfer thethird party computing device from connecting to the cellular network viathe mobile computing device to connecting to the cellular network viathe second mobile computing device.
 17. The computer program product ofclaim 13, wherein the program instructions to synchronize parameters ofthe mobile computing device and the second mobile computing devicecomprise: program instructions to determine the network parameters ofthe mobile computing device and notify the second mobile computingdevice of the network parameters of the mobile computing device.
 18. Thecomputer program product of claim 13, wherein the program instructionsto transfer the third party computing device from connecting to thecellular network via the mobile computing device to connecting to thecellular network via the second mobile computing device executeresponsive to receiving an indication from the mobile computing devicethat it will no longer be able to connect the third party computingdevice to the cellular network.
 19. A system for providing networkaccess, the system comprising: one or more computer processors; one ormore computer-readable storage media; program instructions stored on atleast one of the one or more computer-readable storage media forexecution by at least one of the one or more computer processors, theprogram instructions comprising: program instructions to identify amobile computing device capable of short-range wireless communicationand in an agreement to receive service from a cellular network; programinstructions to provide, to the mobile computing device, terms for athird party computing device to agree to in order to gain access to thecellular network via the mobile computing device, such that the mobilecomputing device can provide the terms to third party computing devicesin wireless range of the mobile computing device; program instructionsto, in response to receiving an indication from the mobile computingdevice that a third party computing device has agreed to the terms,indicate to the mobile computing device to allow the third partycomputing device to access the cellular network via the mobile device.20. The system of claim 19, further comprising: program instructions,stored on at least one of the one or more computer-readable storagemedia for execution by at least one of the one or more computerprocessors, to: track an amount of data transferred to and from thethird party computing device via the mobile computing device; charge thethird party computing device for the amount of data transferred based onthe agreed to terms; and credit the mobile computing device based on theamount of data.
 21. The system of claim 19, further comprising programinstructions, stored on at least one of the one or morecomputer-readable storage media for execution by at least one of the oneor more computer processors, to: identify a second mobile computingdevice capable of short-range wireless communication and in an agreementto receive service from the cellular network; synchronize parameters ofthe mobile computing device and the second mobile computing device suchthat the mobile computing device and the second mobile computing deviceoperate on different channels of the same Service Set Identifier (SSID);and transfer the third party computing device from connecting to thecellular network via the mobile computing device to connecting to thecellular network via the second mobile computing device.
 22. The systemof claim 19, wherein the program instructions to synchronize parametersof the mobile computing device and the second mobile computing devicecomprise: program instructions to determine the network parameters ofthe mobile computing device and notify the second mobile computingdevice of the network parameters of the mobile computing device.